" Maintainer : Nikolai 'pcp' Weibull <da.box@home.se>
" URL : http://www.pcppopper.org/
" Revised on : Sun, 02 Sep 2001 17:11:08 +0200
" Language : readline configuration file
" Variables :
" readline_has_bash - if defined add support for bash specific
" settings/functions
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Set iskeyword since we need `-' (and potentially others) in keywords.
" For version 5.x: Set it globally
" For version 6.x: Set it locally
if version >= 600
command -nargs=1 SetIsk setlocal iskeyword=<args>
else
command -nargs=1 SetIsk set iskeyword=<args>
endif
SetIsk 48-57,65-90,97-122,-
delcommand SetIsk
" comments
syn region readlineComment display oneline matchgroup=readlineComment start="^\s*#" end="$" contains=readlineTodo
" todo
syn keyword readlineTodo contained TODO FIXME
" strings (argh...not the way i want it, but fine..."
syn match readlineString "^\s*[A-Za-z-]\+:"me=e-1 contains=readlineKeys
syn region readlineString display oneline start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=readlineKeysTwo
" special key
syn case ignore
syn keyword readlineKeys contained Control Meta Del Esc Escape LFD Newline Ret Return Rubout Space Spc Tab
syn case match
syn match readlineKeysTwo contained +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{3}\)+
" keymaps
syn match readlineKeymaps contained "emacs\(-standard\|-meta\|-ctlx\)\="
syn match readlineKeymaps contained "vi\(-move\|-command\|-insert\)\="
" bell styles
syn keyword readlineBellStyles contained audible visible none
" numbers
syn match readlineNumber contained "\<\d\+\>"
" booleans
syn case ignore
syn keyword readlineBoolean contained on off
syn case match
" conditionals
syn keyword readlineIfOps contained mode term
syn region readlineConditional display oneline transparent matchgroup=readlineConditional start="^\s*$if" end="$" contains=readlineIfOps,readlineKeymaps
syn match readlineConditional "^\s*$\(else\|endif\)\>"
" include
syn match readlineInclude "^\s*$include\>"
" settings
syn region readlineSet display oneline transparent matchgroup=readlineKeyword start="^\s*set\>" end="$"me=e-1 contains=readlineNumber,readlineBoolean,readlineKeymaps,readlineBellStyles,readlineSettings
syn keyword readlineSettings contained bell-style comment-begin completion-ignore-case completion-ignore-case
syn keyword readlineSettings contained completion-query-items convert-meta disable-completion editing-mode enable-keypad
syn keyword readlineSettings contained expand-tilde horizontal-scroll-mode mark-directories keymap mark-modified-lines meta-flag
syn keyword readlineSettings contained input-meta output-meta print-completions-horizontally show-all-if-ambiguous visible-stats
syn keyword readlineSettings contained prefer-visible-bell blink-matching-paren
" bash extensions
if exists("readline_has_bash")
syn keyword readlineSettings contained isearch-terminators
endif
" key bindings
syn region readlineBinding display oneline transparent matchgroup=readlineKeyword start=":" end="$" contains=readlineKeys,readlineFunctions
syn match readlineFunctions contained "\<\(beginning\|end\)-of-line\>"
syn match readlineFunctions contained "\<\(backward\|forward\)-\(char\|word\)\>"
syn match readlineFunctions contained "\<\(previous\|next\|\(beginning\|end\)-of\|\(non-incremental-\)\=\(reverse\|forward\)-search\)-history\>"
syn match readlineFunctions contained "\<history-search-\(forward\|backward\)\>"
syn match readlineFunctions contained "\<yank-\(nth\|last\)-arg\>"
syn match readlineFunctions contained "\<\(backward-\)\=kill-\(\(whole-\)\=line\|word\)\>"
syn match readlineFunctions contained "\<\(start\|end\|call-last\)-kbd-macro\>"
syn match readlineFunctions contained "\<dump-\(functions\|variables\|macros\)\>"
syn match readlineFunctions contained "\<non-incremental-\(reverse\|forward\)-search-history-again\>"